Review of : Model Checking by Edmund
نویسندگان
چکیده
The goal of model checking is to determine if a given property holds in a particular system. For example, we may want to know that a server never sends sensitive data to the wrong client. Model checking has been used effectively in practice for many finite-state systems, including real-time applications, and for some infinite families of finite systems. Theorem proving and testing are other approaches for system verification. A key advantage of model checking over theorem proving is that it’s verification procedure can be fully automated. As for testing, the results from a model checker, as with any formal method, are obviously more conclusive. There are three main components to model checking; describing the system, stating the property, and verifying that the property holds in the system. The system is typically described by either a finite Kripke structure, M = (S,R,L), or a slightly more general model, Mgen = (S, T, L), where S is a finite set of states, R is a binary relation on states, T is a set of binary relations on states, and L is a function from states to atomic propositions. Often, a subset of S will be designated as the start states. For simplicity, we require that there is at least one transition out of each state (i.e. ∀s ∈ S∃s.(s, s) ∈ R) and define a path to be an infinite sequence of states, s1, s2, . . . in which (si, si + 1) is in R. In symbolic model checking, the state transition graphs are viewed as boolean formulas and represented using ordered binary decision diagrams (OBDD), because there are very efficient algorithms to manipulate OBDDs. A binary decision diagram (BDD)is a graph in which each terminal node is associated with a true or false value and any path from a designated root node to a terminal node corresponds to a set of variable assignments that make the encoded formula have the terminal node’s value. An OBDD is a BDD in canonical form; all redundant nodes and edges are removed and there is an ordering on the nodes such that the i node in any root-to-leaf path is associated with the same variable in the encoded formula. The most common logics to express system properties are Computational Tree Logic (CTL), Linear Temporal Logic (LTL), CTL , and propositional μ-calculus. CTL and LTL are sub-logics of CTL . Any CTL formula can also be expressed in the propositional μ-calculus. Although more complicated than the others, the propositional μ-calculus is particularly interesting, because
منابع مشابه
Abstraction and Counterexample-Guided Refinement in Model Checking of Hybrid Systems
ion and Counterexample-Guided Refinement in Model Checking of Hybrid Systems∗ Edmund Clarke, Ansgar Fehnker, Zhi Han, Bruce Krogh, Joël Ouaknine, Olaf Stursberg, Michael Theobald 1 Computer Science Department, Carnegie Mellon University, Pittsburgh, PA 15213, USA 2 Electrical and Computer Engineering, Carnegie Mellon University, Pittsburgh, PA 15213, USA 3 Process Control Lab, University of Dor...
متن کاملA short introduction to two approaches in formal verification of security protocols: model checking and theorem proving
In this paper, we shortly review two formal approaches in verification of security protocols; model checking and theorem proving. Model checking is based on studying the behavior of protocols via generating all different behaviors of a protocol and checking whether the desired goals are satisfied in all instances or not. We investigate Scyther operational semantics as n example of this...
متن کاملBounded Model Checking Using Satisfiability Solving
The phrase model checking refers to algorithms for exploring the state space of a transition system to determine if it obeys a specification of its intended behavior. These algorithms can perform exhaustive verification in a highly automatic manner, and, thus, have attracted much interest in industry. Model checking programs are now being commercially marketed. However, model checking has been ...
متن کاملAutomated Abstraction Refinement for Model Checking Large Spaces using SAT based Conflict Analysis
We introduce a SAT based automatic abstraction refinement framework for model checking systems with several thousand state variables in the cone of influence of the specification. The abstract model is constructed by designating a large number of state variables as invisible. In contrast to previous work where invisible variables were treated as free inputs we describe a computationally more ad...
متن کامل